package model.negocios;

import java.util.List;

import excecoes.DadosCadastroInvalidos;

import model.basicas.Usuario;
import model.factory.FactoryDAO;
import model.interfaces.IUsuarioDAO;

public class ControladorUsuario {
	
	private IUsuarioDAO usuarioDAO;
	
	public ControladorUsuario(){
		this.usuarioDAO = FactoryDAO.getUsuarioDAO();
	}
	

	public void cadastrarUsuario(Usuario usuario) throws DadosCadastroInvalidos
	{
		this.usuarioDAO.inserir(usuario);
	}

	public List<Usuario> consultarTodos(){
		
		return this.usuarioDAO.listarCadastrados();
	}
	
	public void removerUsuario(Usuario usuario) throws DadosCadastroInvalidos{
		this.usuarioDAO.remover(usuario);
	}
	
	public Usuario atualizarUsuario(Usuario usuario) throws DadosCadastroInvalidos{
		return this.usuarioDAO.atualizar(usuario);
	}
	
	public Usuario consultarPorId(long id){
		return this.usuarioDAO.consultarPorId(id);
	}
}
